One field in which computers often excel is the area of graphical arts. The speed, processing power, memory, and cost of computer systems are often ideally suited for simulation and display of models of concrete or abstract objects. Computer generated models are useful because they can give users the capability to visualize and comprehend the structure of a particular object or the interaction and relationships between a group of objects or data. Computer graphics can also make interaction between the user and a computer more convenient. For example, changes to data can be accomplished by inputting the desired modifications to the computer, which then implements those changes and modifies the display accordingly.
In a typical computer system having graphics capability, an image generated by the computer is displayed by a monitor. The monitor is comprised of a screen having an array of picture elements, known as pixels. Each pixel represents a dot on the screen and is assigned a value representing a particular color or intensity. A displayed image may be formed by many rows of pixels, each row having multiple pixels. The intensity values of each individual pixel in the image are stored in a frame buffer. The frame buffer is a digital memory for storing the image to be displayed as a set of binary values. Furthermore, a video processor chip can be implemented for processing the image data to be displayed.
In some situations, there is a need to enlarge, or "zoom", an image displayed by a monitor. For example, a doctor might wish to examine a specific portion of a displayed diagnostic scan in greater detail. Accordingly, he may enlarge the area of interest, which will be referred to as the "source image". One concern in the design of a computer is the factor by which the source image is to be enlarged, the zoom factor. Some prior art systems use the technique of replication of pixels to implement the zooming function. For example, if the user wished to zoom the source image by a factor 3, the system would produce three identical output pixels for each pixel in the source image. This type of replication does not work, however, for a non-integral zoom factor, such as 3.5. For non-integral zoom factors, various techniques may be used. One such technique is the blending of pixels. Blending involves taking a weighted average of the intensities of two or more pixels in the source image to produce one output pixel. Blending may be combined with replication or other techniques in some systems in order to accommodate non-integral zooming.
Another design concern is that a graphics processor may not be capable of enlarging the entire source image in one step. Instead, the graphics processor may process each individual pixel multiple times depending upon the desired zoom factor. For a zoom factor of 3, the graphics processor may require access to each pixel in the source image 3 times. Consequently, zooming is sometimes accomplished by storing the source image in memory located within the graphics processor so that the graphics processor can access the source image repeatedly using minimal communication with the host processor. However, providing enough memory in the graphics processor to store the source image may cause the graphics processor to become expensive. Alternatively, zooming may be accomplished by repeatedly sending portions of the source image from the host processor to the graphics processor instead of storing the source image on the graphics processor. For large zoom factors, however, this technique may result in excessive traffic on the system data bus, which may cause a slowing of the computer's performance which is perceptible to the user.